C++ mendefinisikan sekelompok tipe aritmetika primitif yang dipetakan langsung ke penyimpanan perangkat keras. Bayangkan memori sebagai urutan bernomor alamat. Setiap byte (8 bit) adalah satuan terkecil yang dapat diakses, sedangkan sebuah kata (biasanya 32/64 bit) adalah ukuran pemrosesan alami.
1. Tipe Integral
Meliputi boolean (bool), karakter (termasuk Unicode char16_t, char32_t), dan bilangan bulat. Bilangan bulat dapat berupa bertanda (merepresentasikan negatif, nol, dan positif) atau tidak bertanda (nilai ≥ 0).
2. Representasi Memori
Ketika sebuah int mengisi satu kata, maka menjangkau beberapa alamat byte. Sebagai contoh, sebuah objek yang dimulai dari alamat 736424 mengisi 4 byte memori berturut-turut.
3. Titik Mengambang & Void
Tipe titik mengambang (float, double, long double) merepresentasikan bilangan real melalui pola bit mesin. Tipe void menandakan hasil "kosong"; tidak memiliki nilai dan tidak dapat digunakan untuk mendeklarasikan variabel standar.